package com.example.warehouse_manager.mapper;

import com.example.warehouse_manager.entity.Role;
import com.example.warehouse_manager.page.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;

@Mapper
public interface RoleMapper {

    //查询所有角色
    public List<Role> findAllRole();

    //根据用户id查询用户分配的角色
    public List<Role> findUserRoleById(Integer id);

    //根据角色名字查询角色id
    public Integer findRoleIdByName(String roleName);

    //查询角色行数
    public Integer findRoleRowCount(Role role);

    //分页查询角色
    public List<Role> findRolePage(@Param("page") Page page, @Param("role") Role role);

    //根据角色名称或角色代码查询角色
    public Role findRoleByNameOrCode(String roleName,String roleCode);

    //添加角色
    public int insertRole(Role role);

    //根据角色id修改角色状态的方法
    public int setRoleStateById(Integer roleId,String roleState);

    //根据角色id删除角色
    public int removeRoleById(Integer roleId);

    //根据角色id修改角色
    public int setDescByRid(Role role);

    //根据角色名称查询角色id
    public int getRoleIdByName(String roleName);

    //添加用户角色关系的方法
    public void insertUserRole(Integer userId, Integer roleId);

}
